A server node is coupled to an I/O enclosure that includes firmware and an FPGA. An I/O enclosure may be described as the main fabric in which I/O operations are flowing through.
In high end storage and server systems that have high availability requirements, firmware and FPGA updates to critical components need to be done concurrently to meet the high availability requirements.
Thus, if the I/O enclosure is taken offline during the firmware distribution or activation of the new firmware, I/O operations may be impacted. In conventional systems, critical FPGA or firmware updates are not able to be applied to the I/O enclosure without the I/O enclosure being taken offline, such as during a repair or during an initial program load of the system. The initial program load reboots the entire system, so that access is lost to the entire system).
For example, take a system that has 8 I/O enclosures within it. The process to take 1 enclosure offline and update it can take approximately an hour. Updating 8 I/O enclosures may take almost 8 hours, which in high end servers may be too long of a service window (i.e., the update may not complete within the service window). Also, when an I/O enclosure is taken offline, and then resumed, prior to taking another I/O enclosure offline, a system administrator has to ensure that the host has switched its paths back to the first I/O enclosure in order to ensure host connectivity is not lost. This further complicates the code load process and makes it basically infeasible to concurrently update FPGA or I/O enclosure firmware.